<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>三元运算符(Ternary operator)</title>
    <!-- 
  JavaScript中的三元运算符（Ternary Operator）是一种简洁的条件运算符，用于根据条件表达式的真假来选择值。
    语法:
    条件 ? 表达式1 : 表达式2;
    - 条件：一个布尔表达式，如果为真，则返回表达式1的值；如果为假，则返回表达式2的值。
    - 表达式1：条件为真时的返回值。
    - 表达式2：条件为假时的返回值。
    
    特点
    1. 简洁性：三元运算符可以用一行代码替代传统的 `if...else` 语句，使代码更为简洁。
      // 使用if...else
      let status;
      if (age >= 18) {
          status = "成年人";
      } else {
          status = "未成年人";
      }

      // 使用三元运算符
      let status = (age >= 18) ? "成年人" : "未成年人";

    2. 可读性：虽然三元运算符可以简化代码，但过度使用可能会导致代码难以阅读和理解。因此，建议在条件判断简单且代码长度较短时使用三元运算符。

    3. 嵌套：三元运算符可以嵌套使用，但过多的嵌套会影响代码的可读性。
      let score = 85;
      let grade = (score >= 90) ? "A" :
                  (score >= 80) ? "B" :
                  (score >= 70) ? "C" : "D";
      console.log(grade); // 输出: B
    3. 返回值：三元运算符的结果可以直接赋值给变量或用于其他表达式中。
    let max = (a > b) ? a : b; // 返回a和b中的较大值
    
    注意事项:
    - 虽然三元运算符很方便，但在条件判断复杂时，使用 `if...else` 语句可能更易于理解和维护。
    - 三元运算符不应过度使用，尤其是在嵌套时，可能会导致代码难以阅读。

    总结
    三元运算符是JavaScript中用于简化条件判断的一种有效工具，可以提高代码的简洁性和可读性。
   -->
  </head>
  <body>
    <script>
      let age = 17;
      let status = age >= 18 ? "成年人" : "未成年人";
      console.log(status); // 输出: 未成年人

      let score = 85;
      let grade =
        score >= 90 ? "A" : score >= 80 ? "B" : score >= 70 ? "C" : "D";
      console.log(grade); // 输出: B
    </script>
  </body>
</html>
